package com.feng.zhihao.apigeteway.gateway;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.feng.zhihao.apigeteway.entity.ChannelInfo;
import com.feng.zhihao.apigeteway.entity.ChannelProject;
import com.feng.zhihao.apigeteway.entity.InterfaceInfo;
import com.feng.zhihao.apigeteway.entity.ProjectInfo;

public class ReqContext {
	private String ip;
	private String[] urlParams;
	private ChannelInfo channelInfo;
	private String reqParamsString;
	private JSONObject reqParams;
	private JSONObject httpReqParams;
	private JSONObject httpReqHead;
	private InterfaceInfo interfaceInfo;
	private ProjectInfo projectInfo;
	private ChannelProject channelProject;

	private JSONObject resParams;
	private String resParamsString;
	private JSONObject httpResParams;
	private JSONObject httpResHead;
	
	@JSONField(serialize=false)
	private HttpServletRequest request;
	@JSONField(serialize=false)
	private HttpServletResponse response;
	public String getIp() {
		return ip;
	}
	public void setIp(String ip) {
		this.ip = ip;
	}
	public ChannelInfo getChannelInfo() {
		return channelInfo;
	}
	public void setChannelInfo(ChannelInfo channelInfo) {
		this.channelInfo = channelInfo;
	}
	
	public JSONObject getReqParams() {
		return reqParams;
	}
	public void setReqParams(JSONObject reqParams) {
		this.reqParams = reqParams;
	}
	public JSONObject getHttpReqParams() {
		return httpReqParams;
	}
	public void setHttpReqParams(JSONObject httpReqParams) {
		this.httpReqParams = httpReqParams;
	}
	public JSONObject getHttpReqHead() {
		return httpReqHead;
	}
	public void setHttpReqHead(JSONObject httpReqHead) {
		this.httpReqHead = httpReqHead;
	}
	public JSONObject getResParams() {
		return resParams;
	}
	public void setResParams(JSONObject resParams) {
		this.resParams = resParams;
	}
	public JSONObject getHttpResParams() {
		return httpResParams;
	}
	public void setHttpResParams(JSONObject httpResParams) {
		this.httpResParams = httpResParams;
	}
	public JSONObject getHttpResHead() {
		return httpResHead;
	}
	public void setHttpResHead(JSONObject httpResHead) {
		this.httpResHead = httpResHead;
	}
	public InterfaceInfo getInterfaceInfo() {
		return interfaceInfo;
	}
	public void setInterfaceInfo(InterfaceInfo interfaceInfo) {
		this.interfaceInfo = interfaceInfo;
	}
	public ProjectInfo getProjectInfo() {
		return projectInfo;
	}
	public void setProjectInfo(ProjectInfo projectInfo) {
		this.projectInfo = projectInfo;
	}
	public HttpServletRequest getRequest() {
		return request;
	}
	public void setRequest(HttpServletRequest request) {
		this.request = request;
	}
	public HttpServletResponse getResponse() {
		return response;
	}
	public void setResponse(HttpServletResponse response) {
		this.response = response;
	}
	public String[] getUrlParams() {
		return urlParams;
	}
	public void setUrlParams(String[] urlParams) {
		this.urlParams = urlParams;
	}
	public ChannelProject getChannelProject() {
		return channelProject;
	}
	public void setChannelProject(ChannelProject channelProject) {
		this.channelProject = channelProject;
	}
	public String getResParamsString() {
		return resParamsString;
	}
	public void setResParamsString(String resParamsString) {
		this.resParamsString = resParamsString;
	}
	public String getReqParamsString() {
		return reqParamsString;
	}
	public void setReqParamsString(String reqParamsString) {
		this.reqParamsString = reqParamsString;
	}
	
}
